home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 June / PersonalComputerWorld-June2009-CoverdiscCD.iso / Software / Freeware / Adobe AIR 1.5.1 / AdobeAIRInstaller.exe / setup.swf / scripts / mx / skins / halo / ScrollArrowSkin.as < prev    next >
Encoding:
Text File  |  2009-02-12  |  9.9 KB  |  233 lines

  1. package mx.skins.halo
  2. {
  3.    import flash.display.GradientType;
  4.    import flash.display.Graphics;
  5.    import flash.geom.Matrix;
  6.    import mx.controls.scrollClasses.ScrollBar;
  7.    import mx.core.FlexVersion;
  8.    import mx.core.mx_internal;
  9.    import mx.skins.Border;
  10.    import mx.styles.StyleManager;
  11.    import mx.utils.ColorUtil;
  12.    
  13.    use namespace mx_internal;
  14.    
  15.    public class ScrollArrowSkin extends Border
  16.    {
  17.       mx_internal static const VERSION:String = "3.0.0.0";
  18.       
  19.       private static var cache:Object = {};
  20.       
  21.       public function ScrollArrowSkin()
  22.       {
  23.          super();
  24.       }
  25.       
  26.       private static function calcDerivedStyles(param1:uint, param2:uint, param3:uint, param4:uint) : Object
  27.       {
  28.          var _loc6_:Object = null;
  29.          var _loc5_:String = HaloColors.getCacheKey(param1,param2,param3,param4);
  30.          if(!cache[_loc5_])
  31.          {
  32.             _loc6_ = cache[_loc5_] = {};
  33.             HaloColors.addHaloColors(_loc6_,param1,param3,param4);
  34.             _loc6_.borderColorDrk1 = ColorUtil.adjustBrightness2(param2,-25);
  35.             _loc6_.borderColorDrk2 = ColorUtil.adjustBrightness2(param2,-50);
  36.          }
  37.          return cache[_loc5_];
  38.       }
  39.       
  40.       override public function get measuredWidth() : Number
  41.       {
  42.          return ScrollBar.THICKNESS;
  43.       }
  44.       
  45.       override public function get measuredHeight() : Number
  46.       {
  47.          return ScrollBar.THICKNESS;
  48.       }
  49.       
  50.       override protected function updateDisplayList(param1:Number, param2:Number) : void
  51.       {
  52.          var _loc13_:Array = null;
  53.          var _loc15_:Array = null;
  54.          var _loc16_:Array = null;
  55.          var _loc17_:Array = null;
  56.          var _loc18_:Array = null;
  57.          var _loc19_:Array = null;
  58.          var _loc20_:Array = null;
  59.          super.updateDisplayList(param1,param2);
  60.          var _loc3_:Number = getStyle("backgroundColor");
  61.          var _loc4_:uint = getStyle("borderColor");
  62.          var _loc5_:Array = getStyle("fillAlphas");
  63.          var _loc6_:Array = getStyle("fillColors");
  64.          StyleManager.getColorNames(_loc6_);
  65.          var _loc7_:Array = getStyle("highlightAlphas");
  66.          var _loc8_:uint = getStyle("themeColor");
  67.          var _loc9_:* = name.charAt(0) == "u";
  68.          var _loc10_:uint = getStyle("iconColor");
  69.          var _loc11_:Object = calcDerivedStyles(_loc8_,_loc4_,_loc6_[0],_loc6_[1]);
  70.          var _loc12_:Boolean = Boolean(parent) && Boolean(parent.parent) && parent.parent.rotation != 0;
  71.          if(_loc9_ && !_loc12_)
  72.          {
  73.             _loc13_ = [_loc4_,_loc11_.borderColorDrk1];
  74.          }
  75.          else
  76.          {
  77.             _loc13_ = [_loc11_.borderColorDrk1,_loc11_.borderColorDrk2];
  78.          }
  79.          var _loc14_:Graphics = graphics;
  80.          _loc14_.clear();
  81.          if(isNaN(_loc3_))
  82.          {
  83.             _loc3_ = 16777215;
  84.          }
  85.          if(FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0 || name.indexOf("Disabled") == -1)
  86.          {
  87.             drawRoundRect(0,0,param1,param2,0,_loc3_,1);
  88.          }
  89.          switch(name)
  90.          {
  91.             case "upArrowUpSkin":
  92.                if(!_loc12_)
  93.                {
  94.                   drawRoundRect(1,param2 - 4,param1 - 2,8,0,[_loc11_.borderColorDrk1,_loc11_.borderColorDrk1],[1,0],verticalGradientMatrix(1,param2 - 4,param1 - 2,8),GradientType.LINEAR,null,{
  95.                      "x":1,
  96.                      "y":param2 - 4,
  97.                      "w":param1 - 2,
  98.                      "h":4,
  99.                      "r":0
  100.                   });
  101.                }
  102.             case "downArrowUpSkin":
  103.                _loc15_ = [_loc6_[0],_loc6_[1]];
  104.                _loc16_ = [_loc5_[0],_loc5_[1]];
  105.                drawRoundRect(0,0,param1,param2,0,_loc13_,1,_loc12_ ? horizontalGradientMatrix(0,0,param1,param2) : verticalGradientMatrix(0,0,param1,param2),GradientType.LINEAR,null,{
  106.                   "x":1,
  107.                   "y":1,
  108.                   "w":param1 - 2,
  109.                   "h":param2 - 2,
  110.                   "r":0
  111.                });
  112.                drawRoundRect(1,1,param1 - 2,param2 - 2,0,_loc15_,_loc16_,_loc12_ ? horizontalGradientMatrix(0,0,param1 - 2,param2 - 2) : verticalGradientMatrix(0,0,param1 - 2,param2 - 2 / 2));
  113.                drawRoundRect(1,1,param1 - 2,param2 - 2 / 2,0,[16777215,16777215],_loc7_,_loc12_ ? horizontalGradientMatrix(0,0,param1 - 2,param2 - 2) : verticalGradientMatrix(0,0,param1 - 2,param2 - 2 / 2));
  114.                break;
  115.             case "upArrowOverSkin":
  116.                if(!_loc12_)
  117.                {
  118.                   drawRoundRect(1,param2 - 4,param1 - 2,8,0,[_loc11_.borderColorDrk1,_loc11_.borderColorDrk1],[1,0],verticalGradientMatrix(1,param2 - 4,param1 - 2,8),GradientType.LINEAR,null,{
  119.                      "x":1,
  120.                      "y":param2 - 4,
  121.                      "w":param1 - 2,
  122.                      "h":4,
  123.                      "r":0
  124.                   });
  125.                }
  126.             case "downArrowOverSkin":
  127.                if(_loc6_.length > 2)
  128.                {
  129.                   _loc17_ = [_loc6_[2],_loc6_[3]];
  130.                }
  131.                else
  132.                {
  133.                   _loc17_ = [_loc6_[0],_loc6_[1]];
  134.                }
  135.                if(_loc5_.length > 2)
  136.                {
  137.                   _loc18_ = [_loc5_[2],_loc5_[3]];
  138.                }
  139.                else
  140.                {
  141.                   _loc18_ = [_loc5_[0],_loc5_[1]];
  142.                }
  143.                drawRoundRect(0,0,param1,param2,0,16777215,1);
  144.                drawRoundRect(0,0,param1,param2,0,[_loc8_,_loc11_.themeColDrk1],1,_loc12_ ? horizontalGradientMatrix(0,0,param1,param2) : verticalGradientMatrix(0,0,param1,param2),GradientType.LINEAR,null,{
  145.                   "x":1,
  146.                   "y":1,
  147.                   "w":param1 - 2,
  148.                   "h":param2 - 2,
  149.                   "r":0
  150.                });
  151.                drawRoundRect(1,1,param1 - 2,param2 - 2,0,_loc17_,_loc18_,_loc12_ ? horizontalGradientMatrix(0,0,param1 - 2,param2 - 2) : verticalGradientMatrix(0,0,param1 - 2,param2 - 2));
  152.                drawRoundRect(1,1,param1 - 2,param2 - 2 / 2,0,[16777215,16777215],_loc7_,_loc12_ ? horizontalGradientMatrix(0,0,param1 - 2,param2 - 2) : verticalGradientMatrix(0,0,param1 - 2,param2 - 2 / 2));
  153.                break;
  154.             case "upArrowDownSkin":
  155.                if(!_loc12_)
  156.                {
  157.                   drawRoundRect(1,param2 - 4,param1 - 2,8,0,[_loc11_.borderColorDrk1,_loc11_.borderColorDrk1],[1,0],_loc12_ ? horizontalGradientMatrix(1,param2 - 4,param1 - 2,8) : verticalGradientMatrix(1,param2 - 4,param1 - 2,8),GradientType.LINEAR,null,{
  158.                      "x":1,
  159.                      "y":param2 - 4,
  160.                      "w":param1 - 2,
  161.                      "h":4,
  162.                      "r":0
  163.                   });
  164.                }
  165.             case "downArrowDownSkin":
  166.                drawRoundRect(0,0,param1,param2,0,[_loc8_,_loc11_.themeColDrk1],1,_loc12_ ? horizontalGradientMatrix(0,0,param1,param2) : verticalGradientMatrix(0,0,param1,param2),GradientType.LINEAR,null,{
  167.                   "x":1,
  168.                   "y":1,
  169.                   "w":param1 - 2,
  170.                   "h":param2 - 2,
  171.                   "r":0
  172.                });
  173.                drawRoundRect(1,1,param1 - 2,param2 - 2,0,[_loc11_.fillColorPress1,_loc11_.fillColorPress2],1,_loc12_ ? horizontalGradientMatrix(0,0,param1 - 2,param2 - 2) : verticalGradientMatrix(0,0,param1 - 2,param2 - 2));
  174.                drawRoundRect(1,1,param1 - 2,param2 - 2 / 2,0,[16777215,16777215],_loc7_,_loc12_ ? horizontalGradientMatrix(0,0,param1 - 2,param2 - 2) : verticalGradientMatrix(0,0,param1 - 2,param2 - 2 / 2));
  175.                break;
  176.             case "upArrowDisabledSkin":
  177.                if(FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0)
  178.                {
  179.                   if(!_loc12_)
  180.                   {
  181.                      drawRoundRect(1,param2 - 4,param1 - 2,8,0,[_loc11_.borderColorDrk1,_loc11_.borderColorDrk1],[0.5,0],verticalGradientMatrix(1,param2 - 4,param1 - 2,8),GradientType.LINEAR,null,{
  182.                         "x":1,
  183.                         "y":param2 - 4,
  184.                         "w":param1 - 2,
  185.                         "h":4,
  186.                         "r":0
  187.                      });
  188.                   }
  189.                }
  190.             case "downArrowDisabledSkin":
  191.                if(FlexVersion.compatibilityVersion >= FlexVersion.VERSION_3_0)
  192.                {
  193.                   _loc19_ = [_loc6_[0],_loc6_[1]];
  194.                   _loc20_ = [_loc5_[0] - 0.15,_loc5_[1] - 0.15];
  195.                   drawRoundRect(0,0,param1,param2,0,_loc13_,0.5,_loc12_ ? horizontalGradientMatrix(0,0,param1,param2) : verticalGradientMatrix(0,0,param1,param2),GradientType.LINEAR,null,{
  196.                      "x":1,
  197.                      "y":1,
  198.                      "w":param1 - 2,
  199.                      "h":param2 - 2,
  200.                      "r":0
  201.                   });
  202.                   drawRoundRect(1,1,param1 - 2,param2 - 2,0,_loc19_,_loc20_,_loc12_ ? horizontalGradientMatrix(0,0,param1 - 2,param2 - 2) : verticalGradientMatrix(0,0,param1 - 2,param2 - 2 / 2));
  203.                   _loc10_ = getStyle("disabledIconColor");
  204.                   break;
  205.                }
  206.                drawRoundRect(0,0,param1,param2,0,16777215,0);
  207.                return;
  208.                break;
  209.             default:
  210.                drawRoundRect(0,0,param1,param2,0,16777215,0);
  211.                return;
  212.          }
  213.          _loc14_.beginFill(_loc10_);
  214.          if(_loc9_)
  215.          {
  216.             _loc14_.moveTo(param1 / 2,6);
  217.             _loc14_.lineTo(param1 - 5,param2 - 6);
  218.             _loc14_.lineTo(5,param2 - 6);
  219.             _loc14_.lineTo(param1 / 2,6);
  220.          }
  221.          else
  222.          {
  223.             _loc14_.moveTo(param1 / 2,param2 - 6);
  224.             _loc14_.lineTo(param1 - 5,6);
  225.             _loc14_.lineTo(5,6);
  226.             _loc14_.lineTo(param1 / 2,param2 - 6);
  227.          }
  228.          _loc14_.endFill();
  229.       }
  230.    }
  231. }
  232.  
  233.